3e4f2d719450c7772365361ee3a92f2525679ec7,src/main/java/com/tlswe/awsmock/ec2/control/MockEC2QueryHandler.java,MockEC2QueryHandler,writeReponse,#Map#Writer#,85

Before Change



        if (null != action && action.length == 1) {

            if ("DescribeInstances".equals(action[0])) {

                // put all the instanceIDs into a set
                Set<String> instanceIDs = parseInstanceIDs(queryParams);

                try {
                    writer.write(JAXBUtil.marshall(describeInstances(instanceIDs), "DescribeInstancesResponse",
                            version[0]));
                } catch (JAXBException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            } else if ("RunInstances".equals(action[0])) {

                String imageID = queryParams.get("ImageId")[0];
                String instanceType = queryParams.get("InstanceType")[0];
                int minCount = Integer.parseInt(queryParams.get("MinCount")[0]);
                int maxCount = Integer.parseInt(queryParams.get("MaxCount")[0]);

                try {
                    writer.write(JAXBUtil.marshall(runInstances(imageID, instanceType, minCount, maxCount),
                            "RunInstancesResponse", version[0]));
                    // JAXBUtil.marshall3(
                    // MockEC2QueryHandler.describeInstances(instanceIDs),
                    // writer);
                } catch (JAXBException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            } else if ("StartInstances".equals(action[0])) {

                // put all the instanceIDs into a set
                Set<String> instanceIDs = parseInstanceIDs(queryParams);

                try {
                    writer.write(JAXBUtil.marshall(startInstances(instanceIDs), "StartInstancesResponse", version[0]));
                } catch (JAXBException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            } else if ("StopInstances".equals(action[0])) {
                Set<String> instanceIDs = parseInstanceIDs(queryParams);

                try {
                    writer.write(JAXBUtil.marshall(stopInstances(instanceIDs), "StopInstancesResponse", version[0]));
                } catch (JAXBException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } else if ("TerminateInstances".equals(action[0])) {
                Set<String> instanceIDs = parseInstanceIDs(queryParams);

                try {
                    writer.write(JAXBUtil.marshall(terminateInstances(instanceIDs), "TerminateInstancesResponse",
                            version[0]));
                } catch (JAXBException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } else if ("DescribeImages".equals(action[0])) {
                try {

After Change


     * @return true for successfully handling query, false: not
     * @throws
     */
    public static void writeReponse(Map<String, String[]> queryParams, final Writer writer) {

        if (null == queryParams || queryParams.size() == 0) {

            // TODO no params found at all - write an error xml response

            return;
        }

        // parse the parameters in query
        String[] version = queryParams.get("Version");

        if (null == version || version.length != 1) {

        } else {
            // TODO no version param found - write an error xml response
        }

        String[] action = queryParams.get("Action");

        String responseXml = null;

        if (null != action && action.length == 1) {

            try {

                if ("DescribeInstances".equals(action[0])) {

                    // put all the instanceIDs into a set
                    Set<String> instanceIDs = parseInstanceIDs(queryParams);

                    responseXml = JAXBUtil.marshall(describeInstances(instanceIDs), "DescribeInstancesResponse",
                            version[0]);

                } else if ("RunInstances".equals(action[0])) {

                    String imageID = queryParams.get("ImageId")[0];
                    String instanceType = queryParams.get("InstanceType")[0];
                    int minCount = Integer.parseInt(queryParams.get("MinCount")[0]);
                    int maxCount = Integer.parseInt(queryParams.get("MaxCount")[0]);

                    responseXml = JAXBUtil.marshall(runInstances(imageID, instanceType, minCount, maxCount),
                            "RunInstancesResponse", version[0]);

                } else if ("StartInstances".equals(action[0])) {

                    // put all the instanceIDs into a set
                    Set<String> instanceIDs = parseInstanceIDs(queryParams);

                    responseXml = JAXBUtil.marshall(startInstances(instanceIDs), "StartInstancesResponse", version[0]);

                } else if ("StopInstances".equals(action[0])) {
                    Set<String> instanceIDs = parseInstanceIDs(queryParams);

                    responseXml = JAXBUtil.marshall(stopInstances(instanceIDs), "StopInstancesResponse", version[0]);

                } else if ("TerminateInstances".equals(action[0])) {
                    Set<String> instanceIDs = parseInstanceIDs(queryParams);